1. Field of the Invention
The present invention relates to data processing systems and more particularly to apparatus and methods used to transfer data from one data processing system to another.
2. Description of the prior art: FIGS. 1 and 2
Ways of transferring data from one computer system to another are as old as computer systems themselves. Two general methods of transferring data have evolved: if each system has access to a network, the network may be used to transfer the data. If no network is available, the data is transferred by means of media such as punched cards, punched tape, magnetic tape, or magnetic disks. In both cases, what to do with the transferred data was at first left completely up to the system which received it. However, this approach became progressively less satisfactory for two reasons: first, the separate computer systems became components of a single distributed computer system and consequently were required to operate in close cooperation with one another. Second, as computer systems became more numerous, their users were more and more often lay people who had considerable difficulty with the complexities of organizing the transferred data into a functioning entity. Often, the problems arose together. For example, a large company might operate a distributed computer system with remote component systems which were operated by sales, service, clerical, or secretarial personnel. In such systems, such non-technical people might be required to receive and install complex data bases and programs or updates to data bases or programs on the remote systems. Further, mistakes made in installation might affect the performance of the entire distributed system.
The prior art has developed two techniques to deal with the problems which have arisen in the distribution of data. One of them is used to distribute data to component systems connected by a network; the other is used to distribute data by means of media. The first technique is exemplified by the IBM Distributed System Executive, described in Distributed Systems Executive Version 3 General Information, GH 19-6394-1, International Business Machines Corporation, 1984. FIG. 1 provides an overview of the Distributed Systems Executive (DSX). As shown in that figure, distributed system 100 in which DSX is used consists of a host system 101 including host CPU 103, data store 105, and DSX software 107 which runs on host CPU 103. Host system 101 is connected by means of network 109 to one or more node systems 111(a) through 111(n). Each node 111 has executing on it DSX Receive (DSXR) software 113. Parameters provided by the operator of host system 101 to DSX 107 describe the configuration of network 109 and nodes 111.
Data is transferred from host system 101 to a node 111(a) in distributed system 100 as follows: a user of the host system specifies to DSX the kind and name of the data to be transferred, the nodes to which the transfer is to be made, and conditions of the transfer, for example, when the transfer is to be made or whether it depends on the successful completion of a preceding transfer. At the time specified for the transfer, DSX initiates a session on network 109 between host system 101 and the node 111(a) to which the transfer is to be made. DSXR 113 in node 111(a) responds to the initiated session and prepares to receive the transferred data. To perform the actual transfer, DSX 107 provides a protocol containing the data to be transferred to network 109, which transmits the protocol to node 111(a). DSXR 113 responds to the protocol and performs whatever actions are required to install the data being sent in node 111(a).
As can be seen from the above description. DSX has a number of inflexibilities. First, the system in which it is used must be hierarchical. A host 101 cannot be a node 111 and host system 101 always provides data and the nodes 111 always receive data. Further, in the system shown in FIG. 1, transfers may be initiated only by host system 101. Second, DSX uses a special protocol provided by network 109 to transfer the data to nodes 111. Consequently, DSX may be used only with network 109 and not with other networks which do not provide such a protocol. Third, installation occurs in DSX at the time the protocol is received in node 111, even though that time may be inconvenient for node 111.
In an effort to overcome some of the inflexibility of the hierarchical system of FIG. 1, the prior art has provided a variation, known as Distributed Systems Network Executive (DSNX), in which certain special nodes 111 are DSNX nodes 111. DSNX nodes 111 may make data available for transfer from DSNX node 111 to host system 101. DSX 107 then initiates a session with DSNX node 111 and transfers the data from DSNX node 111 to host 101. From there, DSX 107 can transfer the data to nodes 111 in the manner just described. Without DSNX, all data to be transferred to nodes 111 must be developed on host system 101; with DSNX, data to be transferred may be developed on a DSNX node 111 and DSX can retrieve the data from that node to host 101 and transfer it from there to other nodes 111. However, even in DSNX, nodes and hosts are distinct and only host 101 can initiate a transfer.
The technique used when data is distributed on media is to include as part of the data a program which correctly installs the remainder of the data in the media on the computer system for which it is intended. FIG. 2 presents a schematic overview of the contents of the media when this approach is used. Medium 201 may be any medium such as punched tape or cards, magnetic tape, or magnetic disks used to transfer data between computer systems. The data is contained in data files (DF) 205 (a) through (n). the loading program is contained in automatic loading file (ALF) 203. The user of the computer system loads ALF file 203 from the media and then executes it on the computer system. The program in ALF file 203 then loads files DF 205(a) through (n).
An essential distinction between this technique and prior-art distribution via a network is that here, the recipient computer system has an active instead of a passive role. Because of this distinction, data distributed across a network and via media cannot presently be dealt with in the same manner by the recipient system. This fact in turn increases the expense and complexity of data distribution, particularly where a distributed system has some component systems which are connected by a network and others which are not or where the cost of using a network is an important consideration in data distribution. An additional problem of prior-art media distribution is that loading programs of the type of ALF 203 are generally specific to the data contained in the medium, not to the system which is receiving the data. For example, the loading program may set up file names or directory systems which are inconsistent with those already present in the recipient computer system. Depending on how the recipient computer system handles such conflicts, the result may be a failure of the installation program or a loss of data in the recipient computer system.